\documentclass[a4paper,12pt]{report}
\usepackage[T1]{fontenc}				% codifica dei font
\usepackage[utf8]{inputenc}			% codifica di input
\usepackage[italian]{babel}			% trattare le lingue
\usepackage{indentfirst}				% indentazione della prima riga del paragrafo
\usepackage{enumitem}						% personalizzazione degli elenchi
\usepackage{microtype}					% migliora il riempimento delle righe
\usepackage[colorlinks]{hyperref}	% colora i link
\usepackage{booktabs}
\usepackage{hyperref}
\usepackage{tabularx}
%\usepackage{comment}
%\usepackage{caption}
%\usepackage{frontespizio}

\ifx\pdftexversion\undefined
  \usepackage[dvips]{graphicx}
\else
  \usepackage[pdftex]{graphicx}
   \DeclareGraphicsRule{*}{mps}{*}{}
\fi

\graphicspath{{immagini/}}


\author{Simone Cainero}
\title{Analisi dei requisiti}

% definisco l'ambiente "tabella"
\newenvironment{tabellaX}[2]%
	{\begin{table}{#1}\footnotesize%
		\begin{center}%
			\begin{tabularx}{\textwidth}{#2}}%
			{\end{tabularx}%
		\end{center}%
	\end{table}}

\newenvironment{tabella}[1]%
	{\begin{table}{b}\footnotesize%
		\begin{center}%
			\begin{tabularx}{\textwidth}{#1}}%
			{\end{tabularx}%
		\end{center}%
	\end{table}}


\begin{document}
	\begin{titlepage}
		%\begin{figure}%[htbp]
		%	\centering
		%	\includegraphics[width=0.5\textwidth]{crystal.jpg}
		%\end{figure}

		\begin{center}
			\vspace{1cm}
			\Huge{Crystal Software}
			\vspace{2cm}

			{\fontsize{40}{50}\selectfont Analisi dei requisiti}
		\end{center}

		\begin{table}[b]\begin{center}\begin{tabularx}{\textwidth}{rlXl}
			\toprule
			\textbf{Rev.}	& \textbf{Data}	& \textbf{Descrizione}												& \textbf{Autore} \\
			\midrule
			1.1				& 13/11/2012		& Aggiornamento capitolo ‘‘Definizione dei requisiti’’ & Simone Cainero \\
			\midrule
			1.0				& 11/11/2012		& Creazione del documento											& Simone Cainero \\
			\bottomrule
		\end{tabularx}\end{center}\end{table}
	\end{titlepage}

	\tableofcontents

	\chapter{Scopo e audience}
	Questo documento ha lo scopo di rielaborare e formalizzare le informazioni acquisite durante le riunioni con il committente riguardo al sistema da progettare. Si rivolge sia al committente che ai progettisti del sistema, fornendo la base per la specificazione dei requisiti. Può fornire elementi da inserire nel contratto con il committente.

	\chapter{Glossario}
	Di seguito alcuni termini utilizzati nel documento.
	\begin{itemize}
		\item \emph{Requisito}: bisogno del committente e/o dell'utente del sistema.
		\item \emph{Requisito funzionale}: requisito che dipende direttamente dalle funzionalità che il committente vuole avere nel sistema.
		\item \emph{Requisito non funzionale}: requisito che non dipende direttamente dalle funzionalità volute dal committente, ma da fattori esterni, come l'ambiente in cui verrà utilizzato il sistema o le specifiche di qualità.
	\end{itemize}

	\chapter{Dati del committente}
	\begin{par}Azienda committente: Comune di Premariacco.\end{par}
	\begin{par}Referente: Maurizio Pighin, indirizzo e-mail \href{mailto:maurizio.pighin@uniud.it}{maurizio.pighin@uniud.it}, telefono ufficio 0432558437.\end{par}
	\begin{par}Le comunicazioni con il committente avverranno tramite il referente sopra citato, prevalentemente tramite posta elettronica. Eventuali riunioni verranno concordate su appuntamento.\end{par}

	\chapter{Analisi del dominio}
		\section{Nome del progetto}
		\begin{par}Il progetto è denominato ‘‘People’’.\end{par}

		\section{Situazione attuale}
		\begin{par}Attualmente i dati anagrafici vengono gestiti manualmente su carta e su schedari fisici.\end{par}

		\section{Obiettivi del nuovo sistema}
		\begin{par}Si tratta di gestire un archivio di dati anagrafici di persone (nome, cognome, data e luogo di nascita, stato civile, residenza, domicilio). Utenti interni possono chiedere certificati su persone. I certificati sono di tre tipi: nascita, residenza, domicilio.\end{par}
		\begin{par}Interessa avere una storia dei certificati rilasciati su un certo nominativo, con la data di rilascio.\end{par}
		\begin{par}Si hanno due funzioni fondamentali:
			\begin{enumerate}
				\item gestione (inserimento/variare/annullamento) delle anagrafiche, con possibilità di interrogazione sulle anagrafiche stesse e sui certificati emessi;
				\item emissione di certificati.
			\end{enumerate}\end{par}

		\section{Diagrammi concettuali}
		\begin{par}Di seguito un diagramma UML concettuale che rappresenta il dominio del sistema.\end{par}
		\begin{figure}[htbp]
			\centering
			\includegraphics[width=\textwidth]{diagramma_concettuale.1}
		\end{figure}

	\chapter{Definizione dei requisiti}
		\begin{par}Di seguito verranno formalizzati in maniera rigorosa i requisiti del cliente.\end{par}

% Requisiti funzionali
		\section{Requisiti funzionali}
		\begin{par}Il sistema gestisce un archivio di dati anagrafici di \textbf{persone} (di seguito \textbf{anagrafiche}). Tali dati sono:
		\begin{itemize}
			\item nome
			\item cognome
			\item data di nascita
			\item luogo di nascita
			\item stato civile
			\item residenza
			\item domicilio
		\end{itemize}\end{par}

		\begin{par}Il sistema gestisce un insieme di \textbf{certificati} relativi ad una anagrafica. I certificati sono dei seguenti tipi:
		\begin{itemize}
			\item nascita
			\item residenza
			\item domicilio
		\end{itemize}\end{par}
		
		\begin{par}Gli \textbf{utenti} del sistema possono:
		\begin{itemize}
			\item gestire i certificati
			\item gestire le anagrafiche
		\end{itemize}\end{par}

		\begin{par}Il sistema prevede una \textbf{storia dei certificati emessi}, ovvero una raccolta dei certificati emessi con la relativa \textbf{data di emissione}.\end{par}\newline

		\begin{par}Di seguito la definizione di alcuni termini utilizzati nei requisiti:
			\begin{itemize}
				\item \emph{annullare}: rendere non più valido un certificato o un'anagrafica
				\item \emph{emettere un certificato}: inserire un certificato nel sistema, specificando anche una data di emissione (data di inserimento)
				\item \emph{gestire un'anagrafica}: inserire, modificare, annullare un'anagrafica
				\item \emph{gestire un certificato}: emettere, annullare, richiedere un certificato
				\item \emph{richiedere un certificato}: esportare un certificato (ad esempio stamparlo)
		\end{itemize}\end{par}

% Requisiti non funzionali
		\section{Requisiti non funzionali}
		\begin{par}La scadenza della consegna è fissata per il 26/04/2013. Non sono stati specificati altri requisiti non funzionali.\end{par}

		\section{Casi d'uso}
		\begin{par}Di seguito un diagramma UML dei casi d'uso che rappresenta le interazioni tra l'utente e il sistema.\end{par}
		\begin{figure}[htbp]
			\centering
			\includegraphics[width=\textwidth]{casi_uso.1}
		\end{figure}

\end{document}
